package com.ruoyi.publish.mapper;

import java.util.List;
import java.util.Map;

import com.ruoyi.publish.domain.AssistInfo;
import com.ruoyi.publish.domain.IdAcceptRegister;
import com.ruoyi.publish.domain.SelfIncreasing;
import org.apache.ibatis.annotations.Param;

/**
 * 鉴定受理登记Mapper接口
 *
 * @author confusefox
 * @date 2020-11-04
 */
public interface IdAcceptRegisterMapper {
    /**
     * 查询鉴定受理登记
     *
     * @param id 鉴定受理登记ID
     * @return 鉴定受理登记
     */
    public IdAcceptRegister selectIdAcceptRegisterById(Long id);

    /**
     * 查询鉴定受理登记列表
     *
     * @param idAcceptRegister 鉴定受理登记
     * @return 鉴定受理登记集合
     */
    public List<IdAcceptRegister> selectIdAcceptRegisterList(IdAcceptRegister idAcceptRegister);

    /**
     * 新增鉴定受理登记
     *
     * @param idAcceptRegister 鉴定受理登记
     * @return 结果
     */
    public int insertIdAcceptRegister(IdAcceptRegister idAcceptRegister);

    /**
     * 修改鉴定受理登记
     *
     * @param idAcceptRegister 鉴定受理登记
     * @return 结果
     */
    public int updateIdAcceptRegister(IdAcceptRegister idAcceptRegister);

    /**
     * 删除鉴定受理登记
     *
     * @param id 鉴定受理登记ID
     * @return 结果
     */
    public int deleteIdAcceptRegisterById(Long id);

    /**
     * 批量删除鉴定受理登记
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteIdAcceptRegisterByIds(String[] ids);


    /**
     * @Description: 获得相应的登记编码
     */
    public String getRegisterCode();

    /**
     * @Description: 获得指定日期的编码
     */
    public String getRegisterCodeBefore(String yearNum);

    /**
     * 受理登记 word一键更新
     *
     * @param id 鉴定受理登记
     * @return 结果
     */
    public int ApprovalRecordRefreshByRecordId(Long id);


    /**
     * 获取最近执行的鉴定组长
     *
     * @return
     */
    public String selectTopNewGroupId();

    /**
     * 根据Id获取数据
     *
     * @param ids
     * @return
     */
    public List<IdAcceptRegister> selectRecordByIds(String[] ids);

    /**
     * 根据年限查询自增值
     *
     * @param year
     * @return
     */
    public SelfIncreasing findByYear(@Param("year")int year);

    /**
     * 修改自增内容
     *
     * @param selfIncreasing
     * @return
     */
    public int updateSelfIncreasing(SelfIncreasing selfIncreasing);

    /**
     * 新增自增内容
     *
     * @param selfIncreasing
     * @return
     */
    public int insertSelfIncreasing(SelfIncreasing selfIncreasing);

    /**
     * 查询协查函信息
     * @return
     */
    public AssistInfo findAssistInfo(@Param("sampleIds")String sampleIds,@Param("assistType") String assistType);

    /**
     * 添加协查函信息
     * @param assistInfo
     * @return
     */
    public int insertAssistInfo(AssistInfo assistInfo);

    /**
     *修改协查函信息
     * @param assistInfo
     * @return
     */
    public int updateAssistInfo(AssistInfo assistInfo);

    /**
     * 查询样本是否已生成协查函
     * @param id
     * @return
     */
    public AssistInfo queryAssist(@Param("id")String id);
}
